|
Visualization of SDF Based Scenes
Fusek, Petr ; Karas, Matej (referee) ; Milet, Tomáš (advisor)
Pole znaménkových vzdáleností (Signed Distance Fields, SDF) poskytuje alternativní metodu popisu 3D povrchů. Povrch je reprezentován funkcí SDF, která vrací vzdálenost k nejbližšímu bodu povrchu. Tyto funkce mohou být kombinovány pomocí technik podobných konstrukční geometrii pevných těles (Constructive Solid Geometry, CSG). Nicméně, algoritmy vrhání paprsků (ray-casting), které se běžně používají pro vizualizaci těchto modelů, nejsou dostatečně škálovatelné pro vykreslování velkých a složitých scén s mnoha SDF objekty v reálném čase. Tato práce, inspirovaná hrou Dreams a technologií GigaVoxel, představuje datovou strukturu pro reprezentaci a vytváření 3D modelů pomocí zmíněné SDF-CSG metody spolu s technikou vykreslování v reálném čase schopnou vykreslovat scény s velkým počtem těchto objektů pomocí datové struktury Sparse Voxel Octree (SVO), vyhodnocované na GPU v reálném čase. Vykreslování využívá techniky úrovně detailu (Level Of Detail, LOD) a algoritmus ořezávání podle viditelnosti (view frustum culling) k výběru viditelných SDF bloků s úrovní detailů úměrnou vzdálenosti od kamery. Aplikace vyvinutá v jazyce Rust s využitím grafického API wgpu umožňuje vytvářet tyto SDF modely a demonstruje představené vykreslovaní techniky. Tato aplikace by mohla sloužit základ pro budoucí vývoj jednoduchého 3D nástroje pro umělce, kteří hledají alternativu tradičního polygonálního modelování.
|